package com.zhentao.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 
 * @TableName comments
 */
@TableName(value ="comments")
@Data
public class Comments implements Serializable {
    /**
     * 评论 ID，主键，自增
     */
    @TableId(type = IdType.AUTO)
    private Integer commentId;

    /**
     * 关联的内容 ID，例如文章 ID、商品 ID 等，用于确定该评论是针对哪个具体内容的
     */
    private Integer contentId;

    /**
     *   -- 评论所属的内容类型，如 'article'（文章）、'product'（商品）等，便于区分不同类型内容的评论
     */
    private String contentType;

    /**
     *   -- 评论者的用户 ID，关联到用户表中的用户
     */
    private Integer userId;

    /**
     *  -- 评论者的用户名，方便显示评论时直接展示用户名
     */
    private String username;

    /**
     *    -- 评论内容，使用 TEXT 类型可存储较长的评论信息
     */
    private String commentText;

    /**
     *   -- 父评论 ID，用于实现多级评论，若为顶级评论则该值为 0
     */
    private Integer parentCommentId;

    /**
     *   -- 评论的点赞数，初始值为 0
     */
    private Integer likesCount;

    /**
     *     -- 评论的回复数，初始值为 0
     */
    private Integer repliesCount;

    /**
     * 状态：1：显示评论状态 0删除评论
     */
    private Integer status;

    /**
     *    -- 评论创建时间，记录评论发表的时间
     */
    private Date createdAt;

    /**
     *     -- 评论更新时间，当评论信息（如点赞数、回复数等）更新时，该时间自动更新
     */
    private Date updatedAt;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}